[INFO] cloning repository https://github.com/layola13/nu-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/layola13/nu-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flayola13%2Fnu-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flayola13%2Fnu-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e20330f7f3190ab8552079db453941c10ebfd1f9
[INFO] fixing layola13/nu-lang against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flayola13%2Fnu-lang" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/layola13/nu-lang
[INFO] finished tweaking git repo https://github.com/layola13/nu-lang
[INFO] tweaked toml for git repo https://github.com/layola13/nu-lang written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/layola13/nu-lang on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/layola13/nu-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77
[INFO] running `Command { std: "docker" "start" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_json v1.0.147
[INFO] [stderr]     Checking zmij v0.1.9
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking syn v2.0.111
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking proptest v1.9.0
[INFO] [stderr]    Compiling logos-codegen v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling logos-derive v0.13.0
[INFO] [stderr]     Checking logos v0.13.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking cargo_toml v0.17.2
[INFO] [stderr]     Checking nu_compiler v1.6.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `nu_compiler`
[INFO] [stderr]  --> src/lexer.rs
[INFO] [stderr]  ::: src/nu2ts/converter.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lexer.rs:6:16
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/lexer.rs:9:7
[INFO] [stderr]              |
[INFO] [stderr]            9 |     #[token("S")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            7 + #[derive(Logos)]
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[token("s")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("E")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:15:7
[INFO] [stderr]               |
[INFO] [stderr]            15 |     #[token("e")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[token("F")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token("f")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:21:7
[INFO] [stderr]               |
[INFO] [stderr]            21 |     #[token("TR")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[token("tr")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("I")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token("D")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token("l")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token("v")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:35:7
[INFO] [stderr]               |
[INFO] [stderr]            35 |     #[token("u")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("U")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:47:7
[INFO] [stderr]               |
[INFO] [stderr]            47 |     #[token("M")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("L")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[regex(r"[a-zA-Z_][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[regex(r#""([^"\\]|\\.)*""#, |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[regex(r"\d+", |lex| lex.slice().parse::<i64>().ok())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[regex(r"[ \t\r\n]+", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[regex(r"//[^\n]*", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `lexer::Token` in the current scope
[INFO] [stderr]              --> src/lexer.rs:70:12
[INFO] [stderr]               |
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            70 |     Token::lexer(input).filter_map(|t| t.ok()).collect()
[INFO] [stderr]               |            ^^^^^ variant, associated function, or constant not found in `lexer::Token`
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/nu2ts/converter.rs:190:23
[INFO] [stderr]                |
[INFO] [stderr]             98 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            126 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            154 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stderr]                |                                          `#3` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            190 |                 match self.parse_match_statement(&lines, i) {
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |
[INFO] [stderr]                |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stderr]                |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            193 |                         match self.generate_match_ifchain(&match_ast, &mut context) {
[INFO] [stderr]                |                               -----------------------------------------------------
[INFO] [stderr]                |                               |
[INFO] [stderr]                |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stderr]                |                               `#4` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            198 |                             Err(e) => {
[INFO] [stderr]                |                                 -
[INFO] [stderr]                |                                 |
[INFO] [stderr]                |                                 `e` calls a custom destructor
[INFO] [stderr]                |                                 `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            209 |                     Err(e) => {
[INFO] [stderr]                |                         -
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stderr]                |                         `#5` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            235 |             }
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]            ...
[INFO] [stderr]            238 |             if let Some(converted) = self.convert_line(line, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                      ------------------------------------------------------
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stderr]                |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stderr]                |
[INFO] [stderr]            note: `#7` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#4` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#5` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#6` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 26 previous errors; 1 warning emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 786 -                 if let Some(ref rt) = return_type {
[INFO] [stdout] 786 +                 if let Some(rt) = return_type {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/nu2ts/converter.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout]  98 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 190 |                 match self.parse_match_statement(&lines, i) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                         match self.generate_match_ifchain(&match_ast, &mut context) {
[INFO] [stdout]     |                               -----------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 198 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 209 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 238 |             if let Some(converted) = self.convert_line(line, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                      ------------------------------------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::option::Option<i64>, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::option::Option<i64>, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/nu2ts/parser.rs:1495:16
[INFO] [stdout]      |
[INFO] [stdout] 1495 |             if let Ok(expr) = self.parse_expr_string(trimmed) {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/nu2ts/parser.rs:1497:13
[INFO] [stdout]      |
[INFO] [stdout] 1497 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1495 ~             match self.parse_expr_string(trimmed) { Ok(expr) => {
[INFO] [stdout] 1496 |                 stmts.push(Stmt::ExprStmt(Box::new(expr)));
[INFO] [stdout] 1497 ~             } _ => {
[INFO] [stdout] 1498 |                 stmts.push(Stmt::Raw(trimmed.to_string()));
[INFO] [stdout] 1499 ~             }}
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/nu2ts.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `nu_compiler`
[INFO] [stderr]  --> src/lexer.rs
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 786 -                 if let Some(ref rt) = return_type {
[INFO] [stdout] 786 +                 if let Some(rt) = return_type {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: src/nu2ts/converter.rs
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/nu2ts/converter.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout]  98 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                          ---------------------------------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 190 |                 match self.parse_match_statement(&lines, i) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 193 |                         match self.generate_match_ifchain(&match_ast, &mut context) {
[INFO] [stdout]     |                               -----------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 198 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 209 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 238 |             if let Some(converted) = self.convert_line(line, &lines, &mut i, &mut context)? {
[INFO] [stdout]     |                                      ------------------------------------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             --> src/lexer.rs:6:16
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::option::Option<i64>, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::option::Option<i64>, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]             --> src/lexer.rs:9:7
[INFO] [stderr]              |
[INFO] [stderr]            9 |     #[token("S")]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            7 + #[derive(Logos)]
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[token("s")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("E")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:15:7
[INFO] [stderr]               |
[INFO] [stderr]            15 |     #[token("e")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[token("F")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token("f")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:21:7
[INFO] [stderr]               |
[INFO] [stderr]            21 |     #[token("TR")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[token("tr")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("I")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token("D")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token("l")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token("v")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:35:7
[INFO] [stderr]               |
[INFO] [stderr]            35 |     #[token("u")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("U")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:47:7
[INFO] [stderr]               |
[INFO] [stderr]            47 |     #[token("M")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("L")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[regex(r"[a-zA-Z_][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[regex(r#""([^"\\]|\\.)*""#, |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[regex(r"\d+", |lex| lex.slice().parse::<i64>().ok())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[regex(r"[ \t\r\n]+", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[regex(r"//[^\n]*", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `regex` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             7 + #[derive(Logos)]
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `lexer::Token` in the current scope
[INFO] [stderr]              --> src/lexer.rs:70:12
[INFO] [stderr]               |
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            70 |     Token::lexer(input).filter_map(|t| t.ok()).collect()
[INFO] [stderr]               |            ^^^^^ variant, associated function, or constant not found in `lexer::Token`
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/nu2ts/converter.rs:190:23
[INFO] [stderr]                |
[INFO] [stderr]             98 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            126 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            154 |                 if let Some(converted) = self.convert_line(trimmed, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                          ---------------------------------------------------------
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stderr]                |                                          `#3` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            190 |                 match self.parse_match_statement(&lines, i) {
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |
[INFO] [stderr]                |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stderr]                |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            193 |                         match self.generate_match_ifchain(&match_ast, &mut context) {
[INFO] [stderr]                |                               -----------------------------------------------------
[INFO] [stderr]                |                               |
[INFO] [stderr]                |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stderr]                |                               `#4` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            198 |                             Err(e) => {
[INFO] [stderr]                |                                 -
[INFO] [stderr]                |                                 |
[INFO] [stderr]                |                                 `e` calls a custom destructor
[INFO] [stderr]                |                                 `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            209 |                     Err(e) => {
[INFO] [stderr]                |                         -
[INFO] [stderr]                |                         |
[INFO] [stderr]                |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stderr]                |                         `#5` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            235 |             }
[INFO] [stderr]                |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]            ...
[INFO] [stderr]            238 |             if let Some(converted) = self.convert_line(line, &lines, &mut i, &mut context)? {
[INFO] [stderr]                |                                      ------------------------------------------------------
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stderr]                |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stderr]                |
[INFO] [stderr]            note: `#7` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#3` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#4` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#5` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#6` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stderr]                |
[INFO] [stderr]            773 | impl Drop for Error {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 26 previous errors; 1 warning emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, lexer::Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> src/nu2ts/parser.rs:1495:16
[INFO] [stdout]      |
[INFO] [stdout] 1495 |             if let Ok(expr) = self.parse_expr_string(trimmed) {
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> src/nu2ts/parser.rs:1497:13
[INFO] [stdout]      |
[INFO] [stdout] 1497 |             } else {
[INFO] [stdout]      |             ^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]      |
[INFO] [stdout] 1495 ~             match self.parse_expr_string(trimmed) { Ok(expr) => {
[INFO] [stdout] 1496 |                 stmts.push(Stmt::ExprStmt(Box::new(expr)));
[INFO] [stdout] 1497 ~             } _ => {
[INFO] [stdout] 1498 |                 stmts.push(Stmt::Raw(trimmed.to_string()));
[INFO] [stdout] 1499 ~             }}
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/nu2cpp.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/cargo2nu.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/cargo2nu.rs:248:23
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 match convert_single_project(&member_input, &member_output, args, &incremental) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/nu2cargo.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/nu2ts_v2.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/nu2cargo.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 match convert_single_project(&member_input, &member_output, args, &incremental) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 257 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/nu2cargo.rs:480:27
[INFO] [stdout]     |
[INFO] [stdout] 450 |       for entry in fs::read_dir(src_dir)? {
[INFO] [stdout]     |                    ----------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 451 |           let entry = entry?;
[INFO] [stdout]     |               -----   ------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `entry` calls a custom destructor
[INFO] [stdout]     |               `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |               let (c, s, f) = convert_nu_files_recursive(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 458 | |                 &path,
[INFO] [stdout] 459 | |                 &sub_output_dir,
[INFO] [stdout] 460 | |                 base_src_dir,
[INFO] [stdout] 461 | |                 args,
[INFO] [stdout] 462 | |                 incremental,
[INFO] [stdout] 463 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |                       match converter.convert(&nu_content) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 493 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 499 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/nu2cargo.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 match convert_single_project(&member_input, &member_output, args, &incremental) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 257 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/rust2nu.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/nu2cargo.rs:480:27
[INFO] [stdout]     |
[INFO] [stdout] 450 |       for entry in fs::read_dir(src_dir)? {
[INFO] [stdout]     |                    ----------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 451 |           let entry = entry?;
[INFO] [stdout]     |               -----   ------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `entry` calls a custom destructor
[INFO] [stdout]     |               `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |               let (c, s, f) = convert_nu_files_recursive(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 458 | |                 &path,
[INFO] [stdout] 459 | |                 &sub_output_dir,
[INFO] [stdout] 460 | |                 base_src_dir,
[INFO] [stdout] 461 | |                 args,
[INFO] [stdout] 462 | |                 incremental,
[INFO] [stdout] 463 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |                       match converter.convert(&nu_content) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 493 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 499 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/nu2rust.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/workspace_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/bin/cargo2nu.rs:248:23
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 match convert_single_project(&member_input, &member_output, args, &incremental) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/nu2cmake.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.91s
[INFO] [stderr] crater-edition-check: nu_compiler v1.6.5 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking nu_compiler v1.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 786 -                 if let Some(ref rt) = return_type {
[INFO] [stdout] 786 +                 if let Some(rt) = return_type {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/nu2cpp/cpp_codegen.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 if let Some(ref rt) = return_type {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 786 -                 if let Some(ref rt) = return_type {
[INFO] [stdout] 786 +                 if let Some(rt) = return_type {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nu_compiler` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `nu_compiler` (lib test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77", kill_on_drop: false }`
[INFO] [stdout] b7a422a0bbd93d47016436d28dbc1a8ec1c9613d7d592444813c930cf0f3ec77
